// config
// 读取配置信息
package main

import (
	"encoding/json"
	"io/ioutil"
	"os"
)

// BackupConfigFileName 为后备配置文件，在本目录找不到的话，就找下面这个文件
const BackupConfigFileName = "./configs/geod.json"

// 程序配置信息
type Config struct {
	HttpPort          int    //Http端口
	KeyFile           string //SSL的Key文件
	CertFile          string //SSL的Cert文件
	UseMap            string //使用地图
	TiandiAPIUrl      string //天地图URL
	TiandiAccessToken string //天地图accesstoken
	BaiduAPIUrl       string //百度URL
	BaiduAccessToken  string //百度accesstoken
	MapboxAPIUrl      string //Mapbox URL
	MapboxAccessToken string //Mapbox accesstoken
	DBUrl             string
	DBName            string
	DBUser            string //数据库用户名
	DBPwd             string //数据库密码
	HTTPS             bool   //HTTPS: true false
}

// 读取配置信息
func loadConfig(file string) (*Config, error) {
	if file == "" {
		file = os.Args[0] + ".json"
	}
	if _, err := os.Stat(file); os.IsNotExist(err) {
		file = BackupConfigFileName
	}
	buf, err := ioutil.ReadFile(file)
	if err != nil {
		return nil, err
	}

	var cfg Config
	err = json.Unmarshal(buf, &cfg)

	return &cfg, err
}
